home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / apm-emulation.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.5 KB  |  63 lines

  1. /* -*- linux-c -*-
  2.  *
  3.  * (C) 2003 zecke@handhelds.org
  4.  *
  5.  * GPL version 2
  6.  *
  7.  * based on arch/arm/kernel/apm.c
  8.  * factor out the information needed by architectures to provide
  9.  * apm status
  10.  */
  11. #ifndef __LINUX_APM_EMULATION_H
  12. #define __LINUX_APM_EMULATION_H
  13.  
  14. #include <linux/apm_bios.h>
  15.  
  16. /*
  17.  * This structure gets filled in by the machine specific 'get_power_status'
  18.  * implementation.  Any fields which are not set default to a safe value.
  19.  */
  20. struct apm_power_info {
  21.     unsigned char    ac_line_status;
  22. #define APM_AC_OFFLINE            0
  23. #define APM_AC_ONLINE            1
  24. #define APM_AC_BACKUP            2
  25. #define APM_AC_UNKNOWN            0xff
  26.  
  27.     unsigned char    battery_status;
  28. #define APM_BATTERY_STATUS_HIGH        0
  29. #define APM_BATTERY_STATUS_LOW        1
  30. #define APM_BATTERY_STATUS_CRITICAL    2
  31. #define APM_BATTERY_STATUS_CHARGING    3
  32. #define APM_BATTERY_STATUS_NOT_PRESENT    4
  33. #define APM_BATTERY_STATUS_UNKNOWN    0xff
  34.  
  35.     unsigned char    battery_flag;
  36. #define APM_BATTERY_FLAG_HIGH        (1 << 0)
  37. #define APM_BATTERY_FLAG_LOW        (1 << 1)
  38. #define APM_BATTERY_FLAG_CRITICAL    (1 << 2)
  39. #define APM_BATTERY_FLAG_CHARGING    (1 << 3)
  40. #define APM_BATTERY_FLAG_NOT_PRESENT    (1 << 7)
  41. #define APM_BATTERY_FLAG_UNKNOWN    0xff
  42.  
  43.     int        battery_life;
  44.     int        time;
  45.     int        units;
  46. #define APM_UNITS_MINS            0
  47. #define APM_UNITS_SECS            1
  48. #define APM_UNITS_UNKNOWN        -1
  49.  
  50. };
  51.  
  52. /*
  53.  * This allows machines to provide their own "apm get power status" function.
  54.  */
  55. extern void (*apm_get_power_status)(struct apm_power_info *);
  56.  
  57. /*
  58.  * Queue an event (APM_SYS_SUSPEND or APM_CRITICAL_SUSPEND)
  59.  */
  60. void apm_queue_event(apm_event_t event);
  61.  
  62. #endif /* __LINUX_APM_EMULATION_H */
  63.